package com.hvgroup.modules.sanic.service;

import com.hvgroup.modules.sanic.domain.dto.QaSessionDto;
import com.hvgroup.modules.sanic.domain.qo.QaQuestionQuery;
import org.springframework.http.codec.ServerSentEvent;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

import java.util.Map;

public interface DifyQAService {

    String wsProcessQuestion(Map<String, Object> body);

    Flux<ServerSentEvent<String>> fluxProcessQuestion(QaQuestionQuery query);

    Flux<ServerSentEvent<String>> fluxProcessQuestion2(QaQuestionQuery body);


    Mono<String> fluxProcessSuggested(QaQuestionQuery body);

    void ratingAnswer(Map<String, Object> body);

    void deleteMessage(Map<String, Object> body);

    void deleteSession(Map<String, Object> body);

    void updateSession(QaSessionDto body);

}
